package com.mofang.powerdekorhelper.utils.http;

import com.mofang.powerdekorhelper.model.ActivityDetail;
import com.mofang.powerdekorhelper.model.ActivityInfo;
import com.mofang.powerdekorhelper.model.ActivityList;
import com.mofang.powerdekorhelper.model.ActivityModel;
import com.mofang.powerdekorhelper.model.ActivityProcess;
import com.mofang.powerdekorhelper.model.AppVersion;
import com.mofang.powerdekorhelper.model.ArticleComment;
import com.mofang.powerdekorhelper.model.BrandDetials;
import com.mofang.powerdekorhelper.model.Card;
import com.mofang.powerdekorhelper.model.CardDetail;
import com.mofang.powerdekorhelper.model.CardShop;
import com.mofang.powerdekorhelper.model.CommunicateInfo;
import com.mofang.powerdekorhelper.model.CreateOrder;
import com.mofang.powerdekorhelper.model.CustomerActivity;
import com.mofang.powerdekorhelper.model.CustomerActivityDetail;
import com.mofang.powerdekorhelper.model.CustomerDetail;
import com.mofang.powerdekorhelper.model.CustomerList;
import com.mofang.powerdekorhelper.model.ImgCode;
import com.mofang.powerdekorhelper.model.JHelpAndFeedback;
import com.mofang.powerdekorhelper.model.JVcodeUser;
import com.mofang.powerdekorhelper.model.MinePoint2;
import com.mofang.powerdekorhelper.model.NewsInfo;
import com.mofang.powerdekorhelper.model.NewsInfoDetial;
import com.mofang.powerdekorhelper.model.Order;
import com.mofang.powerdekorhelper.model.OrderDetial;
import com.mofang.powerdekorhelper.model.PastActivityList;
import com.mofang.powerdekorhelper.model.PresentManagerTask;
import com.mofang.powerdekorhelper.model.Product;
import com.mofang.powerdekorhelper.model.ProductClassify;
import com.mofang.powerdekorhelper.model.Result;
import com.mofang.powerdekorhelper.model.ResultMessage;
import com.mofang.powerdekorhelper.model.ResultMessage2;
import com.mofang.powerdekorhelper.model.ResultMessage3;
import com.mofang.powerdekorhelper.model.ResultMessage4;
import com.mofang.powerdekorhelper.model.ShopActive;
import com.mofang.powerdekorhelper.model.ShopActiveDetail;
import com.mofang.powerdekorhelper.model.SignUpList;
import com.mofang.powerdekorhelper.model.TodayData;
import com.mofang.powerdekorhelper.model.User;
import com.mofang.powerdekorhelper.model.UserManagerTask;

import okhttp3.RequestBody;
import retrofit2.Call;
import retrofit2.http.Body;
import retrofit2.http.GET;
import retrofit2.http.Header;
import retrofit2.http.Multipart;
import retrofit2.http.POST;
import retrofit2.http.Part;
import retrofit2.http.Path;

/**
 * Created by luofei on 2016/7/9 0009.
 */
public interface RetrofitSerives {

    //需要添加头
    //@Headers({"Content-Type: application/json", "Accept: application/json"})
    // 登录
    @POST("sellerLogin")
    Call<User> getLoginResult(@Body RequestBody body);

    // 忘记密码
    @POST("resetpassword1")
    Call<JVcodeUser> getForgetPassword(@Body RequestBody body);

    // 忘记密码
    @POST("resetpassword2")
    Call<ResultMessage3> getResetPassword(@Body RequestBody body);

    // 短信验证
    @POST("sendSMS")
    Call<String> getMesvcode(@Body RequestBody body);

   /* // 省份
    @POST("queryserviceprovencelist")
    Call<JProvince> getProvince();

    // 城市  "code":370000
    @POST("queryservicecitybyprovencecode")
    Call<JCity> getCity(@Body RequestBody body);

    // 区域
    @POST("queryservicecountrybycitycode")
    Call<JRegion> getcountry(@Body RequestBody body);

    // 工作台数据guildfirstpage
    @POST("guildfirstpage")
    Call<JworkPlant> getWorkPlant(@Body RequestBody body);

    // 施工个人guildfirstpage
    @POST("queryconstructdetailbyid")
    Call<JPersonal> getJPersonal(@Body RequestBody body);*/

    // 提现drawandverifymoney
    @POST("drawandverifymoney")
    Call<ResultMessage2> getDrawandverifymoney(@Body RequestBody body);

    // 图片上传updoadimgbase64  imgBase64
    @POST("updoadimgbase64")
    Call<String> getUploadImg(@Body RequestBody body);

    // 图片批量上传updoadimgbase64  imgBase64
    @POST("updoadimgbase64ForImgList")
    Call<String> getUploadImgs(@Body RequestBody body);

   /* // 图片批量上传updoadimgbase64  Map<key,imgBase64>
    @POST("updoadForMap")
    Call<UploadImage> getUploadImgs2(@Body RequestBody body);


    // 认证信息提交constructverify
    @POST("constructverify")
    Call<String> getCommitInfo(@Body RequestBody body);

    // 施工认证状态查询
    @POST("queryverifystate")
    Call<VerifyState> getVerifystate(@Body RequestBody body);*/

    // 导购员认证状态查询
//    @POST("queryverifystate")
//    Call<VerifyState> getGuildVerifystate(@Body RequestBody body);

    //********************************

    // 收入明细
    @POST("IncomeDetailCell")
    Call<String> getIncomeDetials(@Body RequestBody body);

  /*  // 施工，导购----->推广数据列表
    @POST("queryinvitmentlist")
    Call<JGuildData> getGuildData(@Body RequestBody body);


    // 推广人员----->推广数据列表
    @POST("queryinvitmentSellerlist")
    Call<JGuildData> getGuildData2(@Body RequestBody body);

    // 推广人员--->推广数据总数
    // @POST("queryinvitmentlistcount")
    @POST("queryinvitmentSellerForfisrtPage")
    Call<JGuildDataCount> getGuildDataCount(@Body RequestBody body);

    // 施工，导购--->推广数据总数
    @POST("queryinvitmentlistcount")
    Call<ResultMessage> getGuildDataCount2(@Body RequestBody body);

    // 推广订单
    @POST("queryguidorderlist")
    Call<JGuidOrder> getGuidOrderlist(@Body RequestBody body);

    // 施工订单
    @POST("queryconstructlistbyid")
    Call<JConstructOrder> getConstructOrderlist(@Body RequestBody body);*/

    // 修改施工状态
    @POST("constructchangestate")
    Call<String> getConstructchangestate(@Body RequestBody body);

    // 绑定支付宝
    @POST("boundzhifubao")
    Call<String> getBindAlipay(@Body RequestBody body);

    // 修改绑定手机
    @POST("verifyCode")
    Call<String> getChangeBindPhone(@Body RequestBody body);

    // 修改绑定手机2
    @POST("updateSellerPhone")
    Call<ResultMessage> getChangeBindPhone2(@Body RequestBody body);

    // 修改施工信息
    @POST("modifyconstructorinfo")
    Call<String> getConstructorinfo(@Body RequestBody body);

/*    // 分享
    @POST("sellerinvitefriend")
    Call<JInviliData> getellerinvitefriend(@Body RequestBody body);*/

    // 用户上传头像
    @POST("uploadsellerheadimg")
    Call<String> getUploadsellerheadimg(@Body RequestBody body);

    // 施工暂停服务
    @POST("modifyworkingstate")
    Call<String> getModifyworkingstate(@Body RequestBody body);

    // 施工服务状态
//    @POST("modifyconstructorbreakoffstate")
//    Call<String> getCurrentworkingstate(@Body RequestBody body);

    // 登录日志
    @POST("savesellerlog")
    Call<ResultMessage2> getSavesellerlog(@Body RequestBody body);

    //退出登录
    @POST("sellerlogout")
    Call<String> getSellerlogout(@Body RequestBody body);

    // 版本更新
    @POST("auv")
    //http://47.93.78.124/file/upload/new_apk/KoalaHelper.apk
    Call<AppVersion> getAppVersion(@Body RequestBody body);

    // 帮助与反馈
    @POST("queryquestionsintypes")
    Call<JHelpAndFeedback> getJHelpAndFeedback();

    /*// 反馈
    @POST("feedback")
    Call<String> getJFeedback(@Body RequestBody body);



 /*   // 请求所有推广人员数据(即时通讯)
    @POST("queryguidcustomerlist")
    Call<Guidcustomer> getGuidcustomerList(@Body RequestBody body);*/

    // 判断手机号是否已注册
    @POST("seller/isaccountexists")
    Call<String> getIsAccountExists(@Body RequestBody body);

    // 获取图片验证码
    @POST("imgverificationcode")
    Call<ImgCode> getImgCode();

    // 保存设备号和相关信息
    @POST("saveuserequipmentinfo")
    Call<String> getSaveuserequipmentinfo(@Body RequestBody body);

   /* // 施工评价（暂无接口）
    @POST("queryconstructevaluation")
    Call<ConstructEvaluete> getConstructEvaluete(@Body RequestBody body);

    // 施工类型获取
    @POST("queryservicetype")
    Call<ConstructType> getConstructType();

    // 到位所需的品类
    @POST("queryclass")
    Call<ProductClass> getProductClass(@Body RequestBody body);

    // 根据城市合伙人获取其代理过的品类
    @POST("getClassesByPartnerId")
    Call<ClassesByPartner> getClassesByPartner(@Body RequestBody body);

    @POST("getBrandsByPartnerIdAndClassId")
    Call<BrandsByPartner> getBrandsByPartner(@Body RequestBody body);

    @POST("getShopsByBrandId")
    Call<ShopsByBrandId> getShopsByBrandId(@Body RequestBody body);*/

    @POST("publishservice")
    Call<String> getPublishservice(@Body RequestBody body);

    @POST("publishAskForHelp")
    Call<String> getpublishAskForHelp(@Body RequestBody body);

    /* @POST("getSellerServices")
     Call<SellerServices> getSellerServices(@Body RequestBody body);

     // 查询施工服务
     @POST("getConstructServices")
     Call<ConstructServices> getConstructServices(@Body RequestBody body);

     // 查询单个服务
     @POST("getSellerService")
     Call<SellerService> getSellerService(@Body RequestBody body);

     // 服务详情
     @POST("getSellerServiceDetail")
     Call<ServiceDetails> getSellerServiceDetails(@Body RequestBody body);

     //查询求助
     @POST("getAskForHelps")
     Call<AskForHelps> getAskForHelps(@Body RequestBody body);

     //查询单个求助
     @POST("getAskForHelp")
     Call<AskForHelp> getAskForHelp(@Body RequestBody body);
 */
    // 环信注册
    @POST("registEasemob")
    Call<String> getRegistEasemob(@Body RequestBody body);

    // 导购员认证
    @POST("shopGuiderCertificate")
    Call<ResultMessage2> getShopGuiderCertificate(@Body RequestBody body);

 /*   // 导购员认证回显
    @POST("getshopGuiderCertificateInfo")
    Call<GuideInfo> getGuiderInfo(@Body RequestBody body);

    // 店铺导购员预约订单
    @POST("selectAppointmentForShopGuider")
    Call<AppointmentOrder> getAppointmentOrder(@Body RequestBody body);

    // 店铺导购员预约订单状态改变
    @POST("modifyAppointmentState")
    Call<ResultMessage> getModifyAppointmentState(@Body RequestBody body);

    // 店铺导购员预约订单详情
    @POST("selectAppointmentDetailForShopGuider")
    Call<AppointmentOrderDetials> getAppointmentOrderDetials(@Body RequestBody body);

    // 群发消息http://192.168.1.121:8080/shop-web/app/sendmsg
    @POST("sendmsg")
    Call<ResultMessage2> getMassChatText(@Body RequestBody body);

    // 群发消息获取Token
    @POST("token")
    Call<MassChatGetToken> getMassChatGetToken(@Body RequestBody body);*/

    // 群发消息上传图片
    @Multipart
    @POST("chatfiles")
    Call<ResultMessage2> getMassChatUpload(@Header("Authorization") String token,
                                           @Part("file\"; filename=\"image.jpg\"") RequestBody imgs);

    // 修改账号
    @POST("resetAccount")
    Call<ResultMessage2> getChangeAccount(@Body RequestBody body);

    @POST("makeQRCode")
    Call<ResultMessage4> getQrcode(@Body RequestBody body);

    // 品牌详情
    @POST("")
    Call<BrandDetials> getBrandDetials(@Body RequestBody body);

    // 导购总积分积分
    @GET("{id}")
    Call<ResultMessage2> getTotalPoint(@Path("id") int id);

    // 我的积分
    @POST("selectUserManagerIntegralManagement")
    Call<MinePoint2> getMinePoint(@Body RequestBody body);

    // 判断导购是否可以签到
    @GET("{id}")
    Call<ResultMessage3> getIsSign(@Path("id") int id);

    // 导购签到
    @GET("{id}")
    Call<ResultMessage4> getSign(@Path("id") int id);


    @POST("querynews")
    Call<NewsInfo> getNewsInfo(@Body RequestBody body);

    @POST("queryarticledetails")
    Call<NewsInfoDetial> getNewsInfoDetails(@Body RequestBody body);

    @POST("queryapparticleevaluation")
    Call<ArticleComment> getArticleComment(@Body RequestBody body);

    @POST("jumpconnnection")
    Call<Result> getJumpconnnection(@Body RequestBody body);

    @POST("addIntegral")
    Call<ResultMessage> getAddIntegral(@Body RequestBody body);

    @POST("queryFirstPageCouponsList")
    Call<Card> getFirstPageCouponsList(@Body RequestBody body);

    @POST("queryOneFirstPageCouponsShops")
    Call<CardShop> getCardUser(@Body RequestBody body);

    @POST("queryOneFirstPageCoupons")
    Call<CardDetail> getCardDetial(@Body RequestBody body);

    @POST("selectHelperActivityPage")
    Call<ActivityList> getCurrentActivityList(@Body RequestBody body);

    @POST("selectHelperHistoryActivityPage")
    Call<PastActivityList> getPastActivityList(@Body RequestBody body);

    @POST("selectHelperActivityAll")
    Call<ActivityDetail> getActivityDetail(@Body RequestBody body);

    @POST("selectActivityInfo")
    Call<ActivityInfo> getActivityInfo(@Body RequestBody body);

    @POST("selectActivityPage")
    Call<ActivityModel> getActivityModel(@Body RequestBody body);

    @POST("articlePromotionUsers/selectAppArticlePromotions")
    Call<ShopActive> getShopActive(@Body RequestBody body);

    @GET("{id}")
    Call<ShopActiveDetail> getShopActiveDetail(@Path("id") int id);

    @POST("selectSellerOrderPage")
    Call<Order> getOrder(@Body RequestBody body);

    @POST("queryshopallproducts")
    Call<Product> getProductList(@Body RequestBody body);

    @POST("selectOrderDetail")
    Call<OrderDetial> getOrderDetail(@Body RequestBody body);

    @POST("checkOrder")
    Call<OrderDetial> getCheckOrder(@Body RequestBody body);

    @POST("updateOrder")
    Call<ResultMessage> getEditOrder(@Body RequestBody body);

    @POST("addOrder")
    Call<ResultMessage> getAddOrder(@Body RequestBody body);

    @POST("getshopcustomcategory")
    Call<ProductClassify> getProductClassify(@Body RequestBody body);

    // 活动流程
    @POST("selectHelperActivityUser")
    Call<ActivityProcess> getActivityProcess(@Body RequestBody body);

    // 签到
    @POST("uptdateSign")
// {"customer_id":10,"activity_id":68,"sign_state":1,"sign_gift":"开发者二级商户创建测试礼品（杯子）编辑01"}
    Call<ResultMessage> getSignUp(@Body RequestBody body);

    // 签到列表
    @POST("selectSignGo")
    Call<SignUpList> getSignUpList(@Body RequestBody body);

    // 确定购买
    @POST("uptdateCard")
    Call<ResultMessage> getSureBuy(@Body RequestBody body);

    // 关闭订单
    @POST("closeOrder")
    Call<ResultMessage> getCloseOrder(@Body RequestBody body);

    // 核销
    @POST("uptdateHelperActivityOrder")
    Call<ResultMessage> getOffCoupons(@Body RequestBody body);

    // 客户列表
    @POST("selectSellerCustomer")
    Call<CustomerList> getCustomerList(@Body RequestBody body);

    // 客户详情
    @POST("selectSellerCustomerDetail")
    Call<CustomerDetail> getCustomerDetail(@Body RequestBody body);

    // 客户活动详情
    @POST("selectHelperActivityDetails")
    Call<CustomerActivityDetail> getCustomerActivityDetail(@Body RequestBody body);

    // 客户活动详情
    @POST("createOrder")
    Call<CreateOrder> getCreateOrder(@Body RequestBody body);

    // 客户报备
    @POST("related/addCustomerReport")
    Call<ResultMessage> getCustomerReport(@Body RequestBody body);

    // 任务列表
    @POST("selectUerManagerTask")
    Call<UserManagerTask> getUserManagerTask(@Body RequestBody body);

    // 当前任务
    @POST("selectPresentUerManagerTask")
    Call<PresentManagerTask> getPresentUerManagerTask(@Body RequestBody body);

    // 14、刷新订单
    @POST("refreshOrder")
    Call<ResultMessage> getRefreshOrder(@Body RequestBody body);    // 14、刷新订单

    @POST("related/customer/addCommunicate")
    Call<ResultMessage> getAddCommunicate(@Body RequestBody body);

    @POST("selectCustomerActivity")
    Call<CustomerActivity> getCustomerActivity(@Body RequestBody body);

    // 添加沟通记录回显
    @POST("related/customer/selectCommunicate")
    Call<CommunicateInfo> getCommunicateInfo(@Body RequestBody body);

    @POST("selectStatistics")
    Call<TodayData> getTodayData(@Body RequestBody body);

    @POST("selectNode3Image")
    Call<ResultMessage4> getNode3Image(@Body RequestBody body);

}
